package com.hzncc.flowable_diboot.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import com.diboot.core.entity.BaseModel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
* 待办 Entity 定义
* @author MyName
* @version 1.0
* @date 2024-06-21
* Copyright © MyCorp
*/

@TableName("mdl_to_do_list")
@Getter @Setter @Accessors(chain = true)
public class ToDoList extends BaseModel {
    private static final long serialVersionUID = 1229329279600449359L;

    /**
     * 租户
     */
    @NotNull(message = "租户不能为空")
    @TableField()
    private String tenantId;

    /**
     * 类型
     */
    @Length(max=100, message="类型长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String type;

    /**
     * 开始时间
     */
    @TableField()
    private LocalDateTime startTime;

    /**
     * 提醒时间
     */
    @TableField()
    private LocalDateTime reminderTime;

    /**
     * 事宜
     */
    @Length(max=500, message="事宜长度应小于500")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String mission;

    /**
     * 模块
     */
    @Length(max=100, message="模块长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String model;

    /**
     * 指派人
     */
    @TableField()
    private String disPerson;

    /**
     * 执行人
     */
    @TableField()
    private String executor;

    /**
     * 指派时间
     */
    @TableField()
    private LocalDateTime disTime;

    /**
     * 是否生成消息
     */
    @TableField()
    private Boolean hasMsg;

    /**
     * 客户id
     */
    @TableField()
    private String customer;

    /**
     * 线索id
     */
    @TableField()
    private String clueId;

    /**
     * 备注
     */
    @Length(max=500, message="备注长度应小于500")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String remark;

    /**
     * 联系方式
     */
    @Length(max=100, message="联系方式长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String contactWay;

    /**
     * 商机id
     */
    @TableField()
    private String businessId;


}